class Solution {//leetcode1576——乘积为正数的最长子数组
public:
    int getMaxLen(vector<int>& nums) {
        //创建并初始化dp表
        int n=nums.size();
        vector<int> f(n+1);
        vector<int> g(n+1);
        int ret=INT_MIN;
        for(int i=1;i<n+1;i++){
            if(nums[i-1]>0){
                f[i]=f[i-1]+1;
                g[i]=g[i-1]==0?0:g[i-1]+1;
            }
            else if(nums[i-1]<0){
                f[i]=g[i-1]==0?0:g[i-1]+1;
                g[i]=f[i-1]+1;
            }
            ret=max(f[i],ret);
        }
        return ret;
    }
};